package com.sds.service;

/**
 * @Author: sds
 *
 * @Description: 有序性
 */
public interface OrderlinessService {

    /**
     * 1、as-if-serial语义
     * 一个线程内保证语义的串行性
     */
    void asIfSerialMethod();

    /**
     * 2、happens-before
     * 一个操作的执行结果需要对另一个操作可见
     */
    void happensBeforeMethod();

    /**
     * 3、volatile关键字
     * volatile就是让CPU每次操作这个数据时，必须立即同步到主内存，以及从主内存读取数据
     */
    void volatileMethod();
}